/******** 让eltable自适应高度 并锁定表头 ********/

export default (Vue) => {
    return Vue.directive('adaptiveTable', {
        bind(el, binding, vnode) {
            // 给el-table设置height属性，vue2.6版本后此操作无效，所以el-table必须设置 ":height"
            vnode.componentInstance.$options.propsData.height = 50
            let set = () => { // 找到父容器并获得高度设置给table
                el.style.height = 0 //当高度缩小后不能相应，的变通解决方法
                el.style.height = el.parentNode.clientHeight + 'px'
                // console.log(el.parentNode.clientHeight)
            }
            setTimeout(() => {set()}, 100)
            // 窗口变化时
            window.onresize = () => {
                set()
            }
        },
        unbind() {
            // 解绑监听
            window.onresize = null
        }
    })
}
